package com.ruoyi.bom.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 子件BOM对象 erp_component_bom
 * 
 * @author ruoyi
 * @date 2025-07-24
 */
public class ErpComponentBom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 子件编码，主键 */
    private String componentId;

    /** 子件名称 */
    @Excel(name = "子件名称")
    private String componentName;

    /** 子件规格 */
    @Excel(name = "子件规格")
    private String specification;

    /** 物料分类 */
    @Excel(name = "物料分类")
    private String category;

    /** 材料类型 */
    @Excel(name = "材料类型")
    private String materialType;

    /** 表面处理 */
    @Excel(name = "表面处理")
    private String surfaceTreatment;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 属性 */
    @Excel(name = "属性")
    private String attribute;

    /** 基本用量 */
    @Excel(name = "基本用量")
    private BigDecimal baseQuantity;

    /** 子件损耗率 */
    @Excel(name = "子件损耗率")
    private BigDecimal wastageRate;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setComponentId(String componentId) 
    {
        this.componentId = componentId;
    }

    public String getComponentId() 
    {
        return componentId;
    }

    public void setComponentName(String componentName) 
    {
        this.componentName = componentName;
    }

    public String getComponentName() 
    {
        return componentName;
    }

    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }

    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }

    public void setMaterialType(String materialType) 
    {
        this.materialType = materialType;
    }

    public String getMaterialType() 
    {
        return materialType;
    }

    public void setSurfaceTreatment(String surfaceTreatment) 
    {
        this.surfaceTreatment = surfaceTreatment;
    }

    public String getSurfaceTreatment() 
    {
        return surfaceTreatment;
    }

    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }

    public void setAttribute(String attribute) 
    {
        this.attribute = attribute;
    }

    public String getAttribute() 
    {
        return attribute;
    }

    public void setBaseQuantity(BigDecimal baseQuantity) 
    {
        this.baseQuantity = baseQuantity;
    }

    public BigDecimal getBaseQuantity() 
    {
        return baseQuantity;
    }

    public void setWastageRate(BigDecimal wastageRate) 
    {
        this.wastageRate = wastageRate;
    }

    public BigDecimal getWastageRate() 
    {
        return wastageRate;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("componentId", getComponentId())
            .append("componentName", getComponentName())
            .append("specification", getSpecification())
            .append("category", getCategory())
            .append("materialType", getMaterialType())
            .append("surfaceTreatment", getSurfaceTreatment())
            .append("unit", getUnit())
            .append("attribute", getAttribute())
            .append("baseQuantity", getBaseQuantity())
            .append("wastageRate", getWastageRate())
            .append("remarks", getRemarks())
            .toString();
    }
}
